﻿Public Class frmBuscarMedicamento

    Public frmLlamada As String

    'Vista que contiene los medicamentos mostrados
    Private vistaMedicamentos As DataView

    'TextBox donde se cargará el medicamento encontrado
    'Private txtOrigen As TextBox

    Private textoInicial As String

    Public Sub New(ByVal busqueda As String)
        InitializeComponent()
        txtBuscarMedicamento.Text = busqueda
    End Sub

    Private Sub BusquedaMedicamento_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

        With dgvMedicamentos
            ' alternar color de filas  
            .AlternatingRowsDefaultCellStyle.BackColor = Color.FloralWhite
            .DefaultCellStyle.BackColor = Color.Beige
        End With

        'Cargamos la vista de medicamentos
        vistaMedicamentos = frmListadoRecetas.tablaMedicamentos.DefaultView

    End Sub

    Private Sub txtBuscarMedicamento_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtBuscarMedicamento.TextChanged

        'Si el texto de busqueda es distinto de ""
        If Not (txtBuscarMedicamento.Text = "") Then

            'Creamos el filtro para aquellos datos que comienzan con el texto buscado
            Dim filtro As String = "MedicamentoNombre LIKE '" & txtBuscarMedicamento.Text & "%'"
            Dim vistaMedicamentos As DataView = frmListadoRecetas.tablaMedicamentos.DefaultView
            'Filtramos el listado de medicamentos
            vistaMedicamentos.RowFilter = filtro

            'Cargamos solo los medicamentos filtrados
            dgvMedicamentos.DataSource = vistaMedicamentos

        Else
            'Si el texto de busqueda es "" limpiamos el listview
            dgvMedicamentos.DataSource = Nothing

        End If

    End Sub

    Private Sub btnCancelar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnCancelar.Click

        'Salimos d ela ventana actual
        Me.Dispose()

    End Sub

    Private Sub btnAceptar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnAceptar.Click

        'Si no hay seleccionado ningun item
        If dgvMedicamentos.SelectedRows.Count = 0 Then

            'Cerramos sin pasar el numero de troquel
            Me.Dispose()

            'Salimos de la subrutina
            Exit Sub

        End If

        'Pasamos al formulario CargaReceta el nro de troquel del medicamento seleccionado
        'txtOrigen.Text = dgvMedicamentos.SelectedRows(0).Cells("MedicamentoTroquel").Value
        With dgvMedicamentos.SelectedRows(0)
            Select Case frmLlamada
                Case "frmCargaRecetarioSolidario"
                    frmCargaRecetarioSolidario.medicamentoBuscado = New Capa_de_Negocio.Medicamento(.Cells("MedicamentoId").Value, .Cells("MedicamentoNombre").Value, .Cells("MedicamentoTroquel").Value, .Cells("MedicamentoCodigoBarra").Value, .Cells("MedicamentoPresentacion").Value, .Cells("MedicamentoImporte").Value, .Cells("LaboratorioId").Value, .Cells("MedicamentoId").Value, .Cells("AccionFarmacologicaId").Value, .Cells("MonodrogaId").Value)
                Case "frmCargaPAMI"
                    frmCargaPAMI.medicamentoBuscado = New Capa_de_Negocio.Medicamento(.Cells("MedicamentoId").Value, .Cells("MedicamentoNombre").Value, .Cells("MedicamentoTroquel").Value, .Cells("MedicamentoCodigoBarra").Value, .Cells("MedicamentoPresentacion").Value, .Cells("MedicamentoImporte").Value, .Cells("LaboratorioId").Value, .Cells("MedicamentoId").Value, .Cells("AccionFarmacologicaId").Value, .Cells("MonodrogaId").Value)
                Case "frmCargarReceta"
                    frmCargarReceta.medicamentoBuscado = New Capa_de_Negocio.Medicamento(.Cells("MedicamentoId").Value, .Cells("MedicamentoNombre").Value, .Cells("MedicamentoTroquel").Value, .Cells("MedicamentoCodigoBarra").Value, .Cells("MedicamentoPresentacion").Value, .Cells("MedicamentoImporte").Value, .Cells("LaboratorioId").Value, .Cells("MedicamentoId").Value, .Cells("AccionFarmacologicaId").Value, .Cells("MonodrogaId").Value)
            End Select
        End With
        'Cerramos la ventana
        Me.Dispose()

    End Sub

    Private Sub dgvMedicamentos_DoubleClick(ByVal sender As Object, ByVal e As System.EventArgs) Handles dgvMedicamentos.DoubleClick
        'Si no hay seleccionado ningun item
        If dgvMedicamentos.SelectedRows.Count = 0 Then
            'Cerramos sin pasar el numero de troquel
            Me.Dispose()
            'Salimos de la subrutina
            Exit Sub

        End If

        'Pasamos al formulario CargaReceta el nro de troquel del medicamento seleccionado
        With dgvMedicamentos.SelectedRows(0)
            Select Case frmLlamada
                Case "frmCargaRecetarioSolidario"
                    frmCargaRecetarioSolidario.medicamentoBuscado = New Capa_de_Negocio.Medicamento(.Cells("MedicamentoId").Value, .Cells("MedicamentoNombre").Value, .Cells("MedicamentoTroquel").Value, .Cells("MedicamentoCodigoBarra").Value, .Cells("MedicamentoPresentacion").Value, .Cells("MedicamentoImporte").Value, .Cells("LaboratorioId").Value, .Cells("MedicamentoId").Value, .Cells("AccionFarmacologicaId").Value, .Cells("MonodrogaId").Value)
                Case "frmCargaPAMI"
                    frmCargaPAMI.medicamentoBuscado = New Capa_de_Negocio.Medicamento(.Cells("MedicamentoId").Value, .Cells("MedicamentoNombre").Value, .Cells("MedicamentoTroquel").Value, .Cells("MedicamentoCodigoBarra").Value, .Cells("MedicamentoPresentacion").Value, .Cells("MedicamentoImporte").Value, .Cells("LaboratorioId").Value, .Cells("MedicamentoId").Value, .Cells("AccionFarmacologicaId").Value, .Cells("MonodrogaId").Value)
                Case "frmCargarReceta"
                    frmCargarReceta.medicamentoBuscado = New Capa_de_Negocio.Medicamento(.Cells("MedicamentoId").Value, .Cells("MedicamentoNombre").Value, .Cells("MedicamentoTroquel").Value, .Cells("MedicamentoCodigoBarra").Value, .Cells("MedicamentoPresentacion").Value, .Cells("MedicamentoImporte").Value, .Cells("LaboratorioId").Value, .Cells("MedicamentoId").Value, .Cells("AccionFarmacologicaId").Value, .Cells("MonodrogaId").Value)
            End Select
        End With
        'Cerramos la ventana
        Me.Dispose()

    End Sub

End Class